\chapter{Beskrivelse af kransystem}
\label{beskrivelseafkransystem}
Dette kapitel beskriver modelkranen, der arbejdes på i dette projekt. Denne beskrivelse er en indledende beskrivelse, der skal hjælpe med, at give overblik over hvilken hardware og software kransystemet består af. Ud fra denne beskrivelse vil næste kapitel gå dybere i analysen af kransystemet og derigennem få opstillet en matematisk model for systemet. 

Modelkranen er en færdig kranopstilling, som er stillet til rådighed af Aalborg Universitet. Projektgruppen har ikke haft indflydelse på valget af hardware og derfor bruges dette kapitel også til at undersøge hvilken hardware, der er anvendt i modelkranen, samt at komme frem til hvad der skal udvikles i projektet. 


\section{Mekanisk konstruktion}
\label{beskrivelseafkransystem-mekaniskkonstruktion}
Forsøgsopstillingen af modelkranen er afbilledet ved en skitse på figur \ref{fig:kran}.

\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{billeder/kran.pdf}
\caption{Skitse af modelkran.}
\label{fig:kran}
\end{figure}

Modelkranen består af to tårne, der er opstillet vertikalt, hvorpå der er monteret en bjælke horisontalt. På bjælken er der yderligere monteret en slæde, der ved hjælp af slæde-wiren kan bevæges i $x$-retningen. Under slæden er der monteret en krog, som holder lasten. Krogen bevæges i $y$-retningen ved hjælp af last-wiren. De to wiresystemer til lasten og slæden er monteret i tårnet til højre, hvor der også er monteret en DC-motor med gear til hvert wiresystem.	
\clearpage
\begin{wrapfigure}{r}{0.45\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.25\textwidth]{billeder/last.pdf}
\end{center}
\vspace{-20pt}
\caption{Skitse af referencepunkt på lasten.}
\label{fig:last}
\vspace{-10pt}
\end{wrapfigure}
For at definere modelkranens bevægelsesområde er der defineret, at origo i systemet er referencepunktet på lasten, når denne er i yderpunktet til venstre og er hævet maksimalt. Referencepunktet er afbilledet på figur \ref{fig:last}. Koordinatsystemet er givet i meter og det er muligt for modelkranen at bevæge til 4 meter i $x$-retningen og 1,26 meter i $y$-retningen.
\subsubsection{Motor og Gear}
\label{beskrivelseafkransystem-mekaniskkonstruktion-motoroggear}

\begin{wraptable}{r}{0.5\textwidth}
\centering
\begin{tabular}{c|c|c}
\hline
\textbf{Gear} &\textbf{ Tandhjul} & \textbf{Antal tænder} \\
\hline
\multirow{4}{*}{Slæden} & 1 & 12 \\
& 2 & 48 \\
& 3 & 14 \\
& 4 & 72 \\\hline

\multirow{4}{*}{Lasten}& 1 & 12 \\
& 2 & 48 \\
& 3 & 10 \\
& 4 & 60 \\
\hline 
\end{tabular}
\caption{Beskrivelse af gearing for slæden og lasten}
\label{tab:gearingsforhold}
\end{wraptable}

På modelkranen er der monteret to motorer. Disse motorer er af typen AXEM F9M2 \citep{AXEM-F9M2}. Fra databladet vides at disse kan operere ved maksimum $\pm$14 V og 11 A. Motorerne er monteret med hver deres gear og en skitse på et gear er afbilledet på figur \ref{fig:gearing}. Derudover er der i tabel \ref{tab:gearingsforhold} en oversigt over antal tænder på de forskellige tandhjul i de to gearinger. På det sidste tandhjul i hver gearing er der monteret en tromle til wiren, til last-wiren har denne en diameter på 10 cm og til slæde-wiren er den 16 cm i diameter. Udover at have forskellige gearingsforhold og wire-tromlen er der også forskel på måden slæde- og last-wiren er monteret. Last-wiren er monteret et sted på tromlen, samt et sted på slæden. Slæde-wiren er derimod opdelt i to stykker, der begge er sat fast med den ene ende på slæden og den anden på tromlen. 

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{billeder/modellering/gearing.pdf}
\caption{Skitse af gearingsopbygning.}
\label{fig:gearing}
\end{figure}

\section{Elektrisk konstruktion}
\label{beskrivelseafkransystem-elektriskkonstruktion}
På figur \ref{fig:iokort} er der afbilledet en skitse af den elektriske opbygning, der er monteret på modelkranen.

\begin{figure}[H]
 \centering
 \includegraphics{billeder/iokort.pdf}
 \caption{Skitse af den elektriske opbygning på modelkranen.}
 \label{fig:iokort}
 \end{figure} 

\subsubsection*{Dataopsamlingskort}
\label{beskrivelseafkransystem-elektriskkonstruktion-dataopsamlingskort}

Til at opsamle fra og kommunikere data til modelkranen er der anvendt et I/O kort fra Nationel Instruments af typen PCI-6024E \citep{NI-PCI-6024E}. Dette I/O kort er i stand til at arbejde i fire forskellige spændingsspænd; $\pm$ 10 V, $\pm$ 5 V, $\pm$ 500 mV og $\pm$ 50 mV. I/O kortet er udstyret med 2 analoge outputs og 16 analoge inputs, samt 8 digitale input output. Kortet er i stand til at sample med 200 $\nicefrac{\text{kS}}{\text{s}}$ med en opløsning på 12 bit. I/O portene tilføjer en lille dæmpning og forskydelse. I dette projekt er der taget højde for det ved at lave omsætningsfaktorer fra sensorer/aktuatorer til computeren over I/O kortet.

\subsubsection*{Joystick}
\label{beskrivelseafkransystem-elektriskkonstruktion-joystick}
\begin{wrapfigure}{r}{0.5\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.45\textwidth]{billeder/joystick.jpg}
\end{center}
\vspace{-20pt}
\caption{Billede af modelkranens joystick.}
\label{fig:joystick-23}
\vspace{-10pt}
\end{wrapfigure}
Joysticket, afbilledet på figur \ref{fig:joystick-23}, er udstyret med fire kontakter, to vippe- og to trykkontakter. Disse fire kontakter er koblet til fire digitale inputs på dataopsamlingskortet. Ydermere er der monteret en styrepind på joysticket, der opererer to potentiometre, der er tilkoblet to analoge inputs på dataopsamlingskortet. Dette gør, at man ved hjælp af styrepinden er i stand til at operere modelkranen i både $x$- og $y$-retningen.

\subsubsection*{Elektrisk bremse}
\label{beskrivelseafkransystem-elektriskkonstruktion-elektriskbremse}
Der er på modelkranen monteret to sæt elektriske bremser, ét for slæden og ét for lasten. De fire bremser er alle identisk opbygget, men placeret forskelligt på kranen. For lasten er der monteret to elektriske bremser; en når lasten er i positionen $y=0$ m og en når $y=1,26$ m. For slæden er der også monteret to elektriske bremser; en når slæden er i positionen $x=0$ m og en når $x=4$ m. Bremsen er konstrueret således, at den kun bremser i en retning og derfor muliggør, at der stadig kan opereres i den anden retning.

\subsubsection*{Effektforstærker}
\label{beskrivelseafkransystem-elektriskkonstruktion-effektforstaerker}
Som effektforstærker til modelkranen er der anvendt 05- LV-01 fra Axodyn \citep{Axodyn05-LV-01}. Effektforstærkerne er i stand til at levere $\pm$ 13 V samt 8 A. Idet motorerne er i stand til at trække 11 A, er der koblet to ens effektforstærkere i parallel, så det kan garanteres, at motoren får den nødvendige strøm. Effektforstærkerne styres fra computeren via I/O kortet. Forholdet mellem input fra computeren og output spænding på effektforstærkerne er bestemt eksperimentelt, se målejournal i appendiks \ref{maaling-af-effektforstaerker}. Forholdet mellem ønsket spænding på effektforstærker og nødvendigt input kan beskrives ved:

\begin{center}
\fbox{$\text{Input} = 0,768 \cdot U_{\text{effekt}} - 0,116$}\\
\begin{tiny}
Effektforstærker i X-retning.
\end{tiny}

\fbox{$\text{Input} = 0,757 \cdot U_{\text{effekt}} - 0,109$}\\
\begin{tiny}
Effektforstærker i Y-retning.
\end{tiny}
\end{center}
%\subsubsection*{Anti-aliasing filtre}
%\label{indledendeanalyseafkransystem-elektriskkonstruktion-anti-aliasingfilter}

\section{Sensorer}
\label{beskrivelseafkransystem-sensorer}
På modelkranen er der monteret tre typer af sensorer; positionssensor, vinkelsensor og hastighedssensor. Disse er beskrevet i det følgende.

\subsubsection*{Positionssensorer}
\label{beskrivelseafkransystem-sensorer-positionssensorer}
Modelkranen er udstyret med to positionssensorer; en til slædens $x$- og en til lastens $y$ position. Som positionssensore er der anvendt potentiometre fra Bourns af typen 3590S-1-103 \citep{Bourns3590S-1-103}. Forholdet mellem målt position fra sensoren og spænding målt af computeren er bestemt eksperimentelt, se målejournal i appendiks \ref{maalinger-af-sensorer}. Forholdet mellem målt position og inputspænding på computeren kan beskrives ved:

\begin{center}
\fbox{$x = 0,504 \cdot U_{\text{computer}} - 0,314$}\\
\begin{tiny}
Position i $x$-retning.
\end{tiny}

\fbox{$y = 0,158 \cdot U_{\text{computer}} - 0,045$}\\
\begin{tiny}
Position i $y$-retning.
\end{tiny}
\end{center}


\subsubsection*{Hastighedssensorer}
\label{beskrivelseafkransystem-sensorer-hastighedssensorer}
Modelkranen er udstyret med to hastighedssensorer, en til slædens $x$- og en til lastens $y$ hastighed. Som hastighedssensore er der anvendt tachometre fra AXEM af typen F9T \citep{AXEM-F9M2}. Forholdet mellem målt vinkelhastighed fra tachometret og spænding målt af computeren er bestemt eksperimentelt, se målejournal i appendiks \ref{maalinger-af-sensorer}. Forholdet mellem målt vinkelhastighed og inputspænding på computeren kan beskrives ved:

\begin{center}
\fbox{$\omega_x = 34,69 \cdot U_x + 26,26$}\\
\begin{tiny}
Vinkelhastighed $x$-retning.
\end{tiny}

\fbox{$\omega_y = 35,28 \cdot U_y + 12,77$}\\
\begin{tiny}
Vinkelhastighed $y$-retning.
\end{tiny}
\end{center}

Hastigheden af slæden og lasten kan findes ved hjælp af gearingsfaktorerne fra motor til wiretræk samt radius for wiretræk som:

\begin{center}
\fbox{$v_x = \omega_x \cdot 3,889 \cdot 10^{-3}$}\\
\begin{tiny}
Hastighed for slæden ($x$).
\end{tiny}

\fbox{$v_y = \omega_y \cdot 1,042 \cdot 10^{-3}$}\\
\begin{tiny}
Hastighed for lasten ($y$).
\end{tiny}
\end{center}

\subsubsection*{Vinkelsensor}
\label{beskrivelseafkransystem-sensorer-vinkelsensor}
Der er monteret en vinkelsensor på modelkranen, denne er afbilledet på figur \ref{fig:vinkelforfra}. Vinkelsensoren består af et potentiometer, der er monteret på slæden, der registrerer ændringer af vinkelen til lasten. Potentiometeret er fra Bourns af typen 6534S-1-103 \citep{Bourns6534S-1-103}.

\begin{figure}[H]
\centering
\includegraphics{billeder/vinkelforfra.pdf}
\caption{Skitse af vinkelsensoropbygningen.}
\label{fig:vinkelforfra}
\end{figure}

Forholdet mellem målt vinkel fra vinkelmåleren og spænding målt af computeren er bestemt eksperimentelt, se målejournal i appendiks \ref{maalinger-af-sensorer}. Forholdet mellem målt vinkel og inputspænding på computeren kan beskrives ved:

\begin{center}
\fbox{$\theta[^o] = 35,04 \cdot U_{input} - 106,4$}\\
\begin{tiny}
Vinkelmåling i grader.
\end{tiny}
\end{center}

Da der regnes videre med vinklen i systemet, er det fordelagtigt af have den i radianer:

\begin{center}
\fbox{$\theta[rad] = \theta[^o] \cdot \dfrac{2\pi}{360}$}\\
\begin{tiny}
Vinkelmåling i radianer.
\end{tiny}
\end{center}

Vinkelen på 0 grader er i dette projekt defineret, som den vinkel lasten hænger i forhold til slæden uden påvirkning med en last på 3,13 kg. Da der er en vis stivhed i wiren, der føres igennem vinkelsensoren vil vinklen lasten hænger i uden påvirkning være afhængig af lastens vægt. Ved en tungere last vil buen, der udspændes af wiren, når den føres ned igennem vinkelsensoren, blive mindre og omvendt. Dette er illustreret på figur \ref{fig:weightoffset}.

\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{billeder/weightoffset.pdf}
\caption{Skitse af vinkelsensoropbygningen ved forskellige laster. Gennemsigtig er ved lettere last.}
\label{fig:weightoffset}
\end{figure}

Ud fra et udokumenteret forsøg er det bestemt, at der forekommer en forskydelse i størrelsesordenen $-1,6^o$ ved at fjerne lasten. Ændres lasten, skal der derfor tages højde for dette via en ændring af forskydningen i det førbestemte forhold.

\label{indledendeanalyseafkransystem}

\section{Dødzone}
\label{indledendeanalyseafkransystem-doedzone}
\begin{wrapfigure}{r}{0.4\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.35\textwidth]{billeder/deadzone.pdf}
\end{center}
\vspace{-20pt}
\caption{Dødzone.}
\label{fig:deadzone}
\vspace{-10pt}
\end{wrapfigure}
En dødzone er her defineret som et inputområde, hvor der ikke forekommer noget output. Sådan en dødzone forekommer i dette kransystem i begge bevægelsesretninger grundet coulombfriktionen. coulombfriktionen, også kaldet tørfriktionen, har en konstant størrelse der ændrer fortegn efter bevægelsesretningen. coulombfriktionen skyldes normalkrafter i lejerne og er med til at gøre kransystemet ulineært \citep{modelnote}. Friktionsmomentet coulombkraften bidrager med kan beskrives som: $\tau_c \cdot sign(\omega)$. Denne coulombfriktion gør, at rotationssystemet i kranens bevægelsesretninger ikke begynder at bevæge sig, før det drivende moment er større en tørmomentet fra coulombfriktionen.

Dette giver en karakteristik for hastigheden ved steady state som set på figur \ref{fig:deadzone}. For at eliminere ulineariteterne fra denne dødzone tilføjes der en konstant spænding til motorene. Disse størrelser er bestemt eksperimentelt, se appendiks \ref{appendiks-testanvendtiindledendeanalyse} hvor inputspændingen er sat til at stige og aflæst når rotationen starter.

Dødzone for slædebevægelsen i $x$-retningen er vist i figur \ref{fig:deadzonex}.

\begin{figure}[H]
		\centering
		\includegraphics[width=0.8\textwidth]{billeder/deadzonex.pdf}
		\caption{Dødzone for slædebevægelser.}
		\label{fig:deadzonex}
\end{figure}

Spændingen for dødzonen aflæses til $\pm~2,2$ V. Som man kan se på figur \ref{fig:deadzonex} er hastigheden som funktion af spændingen ikke helt lineær efter dødzonen, hvilket hovedsageligt skyldes, at spændingen i dette forsøg er sat til at stige hvert 0,01 s med 0,01 V, hvilket gør, at systemet aldrig når at komme helt i steady state. Desuden skyldes afvigelsen også at hastigheden oscillere grundet svingningerne fra lasten.

Lastens bevægelse i $y$-retningen kan ses i figur \ref{fig:deadzoney}.

\begin{figure}[H]
		\centering
		\includegraphics[width=0.8\textwidth]{billeder/deadzoney.pdf}
		\caption{Dødzone for lastbevægelser.}
		\label{fig:deadzoney}
\end{figure}

Spændingen for dødzonen i $y$-retningen er forskellig alt efter om lasten løftes eller sænkes grundet tyngdekraften. Dødzonen er aflæst fra -3 V til 1,5 V.
\clearpage
\section{Mætning}
\label{indledendeanalyseafkransystem-maetning}
\begin{wrapfigure}{r}{0.4\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.35\textwidth]{billeder/saturation.pdf}
\end{center}
\vspace{-20pt}
\caption{Betydningen af mætning.}
\label{fig:meatningillu}
\vspace{-10pt}
\end{wrapfigure}
En anden ulinearitet, der forekommer i systemet, er mætning som illustreret i figur \ref{fig:meatningillu}. En mætning som vist i er her defineret som et punkt, hvorved en yderligere stigning på input ikke giver nogle ændring af output. Mætninger i systemet skal tages med i betragtningen, når der fremstilles regulatorer. Laves der f.eks. en PI-regulator i et system med mætning, kan der opstå komplikationer. Ved højere input end mætningen tillader, vil den relative forstærkning blive lavere, så et system med poler, der bevæger sig over i det positive halvplan ved lavere forstærkning, kunne blive ustabilt. Et andet aspekt er integrations windup, der vil blive nærmere diskuteret under konstruktionen af regulatorene.

En mætning, der kan nævnes som eksempel, er, at bevægelserne for slæden og lasten er begrænset, til de områder kranen afgrænser. Placeres slæden i den ene ende af kranen vil et input mod den ende ikke give nogle ændringer på hverken slædens hastighed eller position. Den mest udtalte mætning i dette projekt er dog mætningen der ligger i, at de benyttede effektforstærkere maksimalt leverer 13 V til motorene. 

For bedre at kunne bestemme, hvilke områder den automatiske styring skal virke indenfor, er der testet maksimal hastighed ved et step med en inputspænding på 13 V på slæde- og lastmotoren. Se appendiks \ref{appendiks-testanvendtiindledendeanalyse}.

Den maksimale hastighed for slædemotoren i $x$-retningen er vist i figur \ref{fig:maxveloxpos}.

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{billeder/maxveloxpos.pdf}
		\caption{Maximal hastighed for slædemotoren ved et step på 13 V.}
		\label{fig:maxveloxpos}
\end{figure}

Som det ses på grafen, giver lasten oscillationener på hastigheden ved steady state. Hastigheden er derfor aflæst som RMS værdien ved steady state. Den maksimal hastighed er aflæst til 1,02 \has.

Den maksimale hastighed for lastmotoren i $y$-retningen er vist i figur \ref{fig:maxveloyposneg}.

\begin{figure}[H]
\centering
\includegraphics[width=0.8\textwidth]{billeder/maxveloyposneg.pdf}
		\caption{Maximal hastighed for lastmotoren ved et step på 13 V og -13 V.}
		\label{fig:maxveloyposneg}
\end{figure}

Grundet tyngdekraften er den maksimale hastighed forskellig alt efter om lasten løftes eller sænkes. Den maksimale hastighed for sænkning af lasten er målt til 0,31 \has. Den maksimale hastighed for løftning af lasten er målt til 0,23 \has. 

\section{Afviklingsmiljø}
\label{beskrivelseafkransystem-afviklingsmiljoe}
Til at håndtere det data der opsamles af National Instruments PCI-6024E kortet, anvendes en Dell Optiplex G270  PC. På denne PC er der installeret Ubuntu. Som standard er Ubuntu ikke ud-
\begin{wrapfigure}{r}{0.5\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.45\textwidth]{billeder/rtai_linux-kerne.pdf}
\end{center}
\vspace{-20pt}
\caption{Den brune kasse udgør den hardware, der arbejdes på. De grå kasser udgør kerne-niveauet og den gule kasse viser bruger-niveauet.}
\label{fig:rtai_linux-kerne}
\vspace{-10pt}
\end{wrapfigure}
styret med en kerne, der gør det muligt for brugeren at afvikle programmer i realtid. I projektet anvendes RTAI, Real Time Application Interface \citep{RTAI}, hvilket er en forøgelse af Linux-kernen, der sikrer, at det er muligt at afvikle programmer i Hard Realtime. I sammenspil med RTAI anvendes Comedi biblioteket \citep{comedi}, der sammen med mange andre I/O kort også understøtter National Instruments PCI-6024E og leverer drivere der muliggør kommunikation med I/O kortet. På figur \ref{fig:rtai_linux-kerne} er der afbilledet, hvorledes RTAI er implementeret.

Modelkranprogrammet designes i Simulink der er en del af Matlab \citep{matlab-simulink}. I Simulink, er det muligt at importere både RTAI og Comedi biblioteker. Dette gør det muligt for projektgruppen at designe regulatorer i Simulink ved hjælp af blokdiagrammer og derefter at have RTAI biblioteket til at oversætte dette til kildekode, der kan afvikles på RTAI-kernen. 
\\
Derudover anvendes også RTAI-Lab, der er en grafisk brugerflader til RTAI, med muligheder for løbende at få måledata fra modekranen under test. 
 
\section{Funktionalitet}
\label{beskrivelseafkransystem-funktionalitet}
Den overordnede funktionalitet, der ønskes fra det endelige system, vil her blive beskrevet. Til at styre modelkranen er det projektgruppens mål at designe manuel styring med joystick. Dette gøres således, at kranføren direkte kan styre lastens hastighed og retning uden at tænke på svingninger. Med de anvendte modeller og metoder kan der uden besvær udvikles en automatisk styring, hvor de ønskede positioner vælges. Dette vurderes dog ikke så effektiv som et antisvingssystem i et dynamisk arbejdsmiljø, hvor placeringer af gods ofte ændrer sig og hvor der kan opstå uventet situationer. Her vil et system, som er operatørstyret, bedre kunne tilpasse sig. Der fokuseres derfor udelukkende på en såkaldt hastighedsregulering af lasten, da dette vurderes til at være den bedste løsning til en portalkran. Skulle en positionsregulering af lasten yderligere udvikles, ville det ikke bidrage med meget i forhold til læringsmålene på dette semester, da de anvendte reguleringstekniske metoder er ens.